﻿/******************************************************************************
 * 【本类功能概述】                                 					      *
 *  版权所有（C）2017-20XX                                                    *
 *  保留所有权利。                                                            *
 ******************************************************************************
 *  作者 : <hughjk>
 *  创建时间:2019年4月24日 10:23:39
 *  文件描述:能力
 *****************************************************************************/

using UnityEngine;

public class Ability
{
    public bool m_Activate = false;
    public Transform transform;
    public BuildAbilitys buildAbilitys;

    //数据初始化,比Init要早
    public virtual void InitData(AbilityData data)
    {
    }

    /// <summary>
    /// 初始化
    /// </summary>
    /// <param name="entitys"></param>
    public virtual void Init(BuildAbilitys entitys)
    {
        m_Activate = true;
        transform = entitys.m_transform;
        buildAbilitys = entitys;
    }

    /// <summary>
    /// 获取组件
    /// </summary>
    /// <param name="entitys"></param>
    public virtual void GetAbility(BuildAbilitys entitys)
    {
    }

    public void OnUpdata()
    {
        if (m_Activate)
        {
            Updates();
        }
    }

    //更新
    public virtual void Updates()
    {
    }

    //结束
    public virtual void Over()
    {
        m_Activate = false;
    }

    //重置
    public virtual void OnReset()
    {
    }

    //触发能力
    public virtual bool OnTrigger(BuildAbilitys entity)
    {
        return false;
    }

    //执行能力
    public virtual bool OnDispose(BuildAbilitys entity)
    {
        return false;
    }
}